home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1998 August / PC Plus SuperCD 50a Issue 142 (CD142a) (August 1998).iso / trial / demon / TURNPIKE.1 / CLASSES.ZIP / JAVA / AWT / Menu.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-04-14  |  1.8 KB  |  103 lines

  1. package java.awt;
  2.  
  3. import java.awt.peer.MenuPeer;
  4. import java.util.Vector;
  5.  
  6. public class Menu extends MenuItem implements MenuContainer {
  7.    Vector items;
  8.    boolean tearOff;
  9.    boolean isHelpMenu;
  10.  
  11.    public Menu(String var1) {
  12.       this(var1, false);
  13.    }
  14.  
  15.    public Menu(String var1, boolean var2) {
  16.       super(var1);
  17.       this.items = new Vector();
  18.       this.tearOff = var2;
  19.    }
  20.  
  21.    public synchronized void addNotify() {
  22.       if (super.peer == null) {
  23.          super.peer = Toolkit.getDefaultToolkit().createMenu(this);
  24.       }
  25.  
  26.       int var1 = this.countItems();
  27.  
  28.       for(int var2 = 0; var2 < var1; ++var2) {
  29.          MenuItem var3 = this.getItem(var2);
  30.          var3.parent = this;
  31.          var3.addNotify();
  32.       }
  33.  
  34.    }
  35.  
  36.    public synchronized void removeNotify() {
  37.       int var1 = this.countItems();
  38.  
  39.       for(int var2 = 0; var2 < var1; ++var2) {
  40.          this.getItem(var2).removeNotify();
  41.       }
  42.  
  43.       super.removeNotify();
  44.    }
  45.  
  46.    public boolean isTearOff() {
  47.       return this.tearOff;
  48.    }
  49.  
  50.    public int countItems() {
  51.       Vector var1 = this.items;
  52.       return var1.elementCount;
  53.    }
  54.  
  55.    public MenuItem getItem(int var1) {
  56.       return (MenuItem)this.items.elementAt(var1);
  57.    }
  58.  
  59.    public synchronized MenuItem add(MenuItem var1) {
  60.       if (var1.parent != null) {
  61.          var1.parent.remove(var1);
  62.       }
  63.  
  64.       this.items.addElement(var1);
  65.       var1.parent = this;
  66.       if (super.peer != null) {
  67.          var1.addNotify();
  68.          ((MenuPeer)super.peer).addItem(var1);
  69.       }
  70.  
  71.       return var1;
  72.    }
  73.  
  74.    public void add(String var1) {
  75.       this.add(new MenuItem(var1));
  76.    }
  77.  
  78.    public void addSeparator() {
  79.       this.add("-");
  80.    }
  81.  
  82.    public synchronized void remove(int var1) {
  83.       MenuItem var2 = this.getItem(var1);
  84.       this.items.removeElementAt(var1);
  85.       MenuPeer var3 = (MenuPeer)super.peer;
  86.       if (var3 != null) {
  87.          ((MenuComponent)var2).removeNotify();
  88.          var2.parent = null;
  89.          var3.delItem(var1);
  90.       }
  91.  
  92.    }
  93.  
  94.    public synchronized void remove(MenuComponent var1) {
  95.       Vector var2 = this.items;
  96.       int var4 = var2.indexOf(var1, 0);
  97.       if (var4 >= 0) {
  98.          this.remove(var4);
  99.       }
  100.  
  101.    }
  102. }
  103.